package com.zhiche.lisa.bms.service.receipt;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zhiche.lisa.bms.dao.model.receipt.ReceiptAffirm;
import com.zhiche.lisa.bms.dao.model.receipt.ReceiptAffirmDtl;
import com.zhiche.lisa.bms.pojo.vo.receipt.ReceiptAffirmAndDtlVO;
import com.zhiche.lisa.bms.pojo.vo.receipt.ReceiptAffirmVo;

import java.util.List;

/**
 * <p>
 * 收款确认 服务类
 * </p>
 *
 * @author hongbo
 * @since 2018-09-27
 */
public interface ReceiptAffirmService extends IService<ReceiptAffirm> {
	/**
	 * 收款确认分页查询
	 *
	 * @param page
	 * @return
	 */
	Page<ReceiptAffirmVo> qureyReceiptAffirmLinePage(Page<ReceiptAffirm> page);

	/**
	 * 收款确认批量删除
	 *
	 * @param ids
	 */
	void deleteReceiptAffirmById(List<Long> ids);

	/**
	 * 新增收款确认
	 *
	 * @param receiptAffirm
	 * @param receiptAffirmDtls
	 * @param checkDiffSum
	 */
	void insertReceiptAffirm(ReceiptAffirm receiptAffirm, List<ReceiptAffirmDtl> receiptAffirmDtls, boolean checkDiffSum);

	/**
	 * 根据id号查找对应的收款确认信息
	 *
	 * @param receiptAffirmId
	 * @return
	 */
	ReceiptAffirmAndDtlVO selectReceiptAndDtlById(Long receiptAffirmId);

	/**
	 * 修改指定收款确认信息
	 *
	 * @param receiptAffirm
	 * @param receiptAffirmDtls
	 */
	void updateReceiptAffirmAndDtl(ReceiptAffirm receiptAffirm, List<ReceiptAffirmDtl> receiptAffirmDtls);
}
